package ar.com.hakasoft

import org.springframework.transaction.annotation.Transactional

import ar.com.hakasoft.entities.Egreso

class EgresosService {

    static transactional = false

    @Transactional
	def eliminarEgreso(id){
		def egreso = Egreso.get(id)
		if (egreso){
			egreso.fueEliminada = true
			egreso.save(flush: true, failOnError: true)
		}
	}
	
	@Transactional
	def guardarEgreso(Egreso egreso){
		egreso.save(flush: true, failOnError: true)
	}
	
	@Transactional(readOnly = true)
	def obtenerEgresoPorFecha(def fecha){
		return Egreso.createCriteria().list(){
				
			Calendar calendarMinimo = Calendar.getInstance()
			Calendar calendarMaximo = Calendar.getInstance()
			
			if (fecha){
				def fechaParseada = fecha.split()
				calendarMinimo.set(fechaParseada[2].toInteger(), fechaParseada[1].toInteger()-1, fechaParseada[0].toInteger(), 0, 0, 0)
				calendarMaximo.set(fechaParseada[2].toInteger(), fechaParseada[1].toInteger()-1, fechaParseada[0].toInteger(), 23, 59, 59)
			}
			between("fecha",calendarMinimo.getTime(), calendarMaximo.getTime())
			
			order("fecha","asc")
		}
	}
	
	
}
